#ifndef __GAME_H
#define __GAME_H

#include "map.h"
#include "player.h"
#include "enemy.h"
#include "vectr.h"

class Game
{
public:
	
	// data-driven initialization... reads a file to generate game state
	Game(char * a_initialGameDataFile);
	// a simple, static draw method. draws to the windows console
	void draw();
	// input handler. takes in a key press as a character
	
	void handleInput(char k_press);
	
	// update the game logic
	void update(int a_ms);
	// find a player from the player list at the given location
	Player * getPlayerAt(int a_x, int a_y);
	// a destructor to clean up game data after the game finishes runtime
	~Game();
private:

	// the game world. manages 2D map data
	Map m_map;
	// the list of players in the game world
	Vectr m_playerList;
};

#endif
